package la.bbs558.aop.delay;

import la.bbs558.aop.delay.handler.BbsClassActiveEndDelayHandler;
import la.bbs558.aop.delay.handler.BbsClassActiveStartDelayHandler;
import lombok.Getter;

/**
 * @Classname DelayTaskEnum
 * @Description TODO
 * @Date 2023/11/9 09:50
 * @Created by weihanmin
 */
@Getter
public enum DelayQueueEnum {

    DEFAULT_DELAY_QUEUE("DEFAULT_DELAY_QUEUE","默认延时队列", DefaultDelayHandler.class),
    ACTIVE_START_DELAY_QUEUE("ACTIVE_DELAY_QUEUE","活动开始延时队列", BbsClassActiveStartDelayHandler.class),
    ACTIVE_END_DELAY_QUEUE("ACTIVE_DELAY_QUEUE","活动结束延时队列", BbsClassActiveEndDelayHandler.class),
    ;

    private final String key;
    private final String value;
    private final Class<? extends DelayHandler> handlerClass;

    DelayQueueEnum(String key, String value, Class<? extends DelayHandler> handlerClass) {
        this.key = key;
        this.value = value;
        this.handlerClass = handlerClass;
    }
}
